package com.ccs.hanke.service;


import com.ccs.hanke.design.CalStrategy;
import com.ccs.hanke.entity.Furit;
import com.ccs.hanke.entity.MarketFactory;

import java.util.HashMap;
import java.util.Scanner;

/**
 * 问题1、有一家超市，出售苹果和草莓。其中苹果 8 元/斤，草莓 13 元/斤。
 * 现在顾客 A 在超市购买了若干斤苹果和草莓，需要计算一共多少钱？
 * 请编写函数，对于 A 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
 */
public class Problem01 {

    public static void main(String[] args) {


        Scanner scanner = new Scanner(System.in);
        String furitName;
        String furitweight;
        HashMap<Furit, Integer> map = new HashMap<Furit, Integer>();



        while (true) {
            System.out.print("请输入购买的水果名称（输入回车退出）：");
            furitName = scanner.nextLine();

            if (furitName.isEmpty()) {
                break;
            }

            System.out.print("请输入购买的水果总量：");
            furitweight = scanner.nextLine();

            MarketFactory marketFactory = new MarketFactory();
            Furit furit = marketFactory.getFurit(furitName.toLowerCase(), Integer.valueOf(furitweight));
            map.put(furit,Integer.valueOf(furitweight));

        }

        //策略模式,策略1
        CalStrategy calStrategy = new CalStrategy();
        double consumeCount = calStrategy.calFuritSum(map);

        System.out.println("总花费："+consumeCount);


    }

}
